cmake_minimum_required(VERSION 3.10.2)
project(bootstrap)

set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++1y -fno-rtti -fvisibility=hidden -D_GNU_SOURCE")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fdata-sections -fPIC -fpic -ffunction-sections -D_GLIBC_MOCK")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wl,--no-as-needed -ldl")
#set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fprofile-arcs -ftest-coverage")
#set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fprofile-arcs -ftest-coverage")
set(MOCK_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../../../../mock")
aux_source_directory(${CMAKE_CURRENT_SOURCE_DIR}/src bootstrapSrc)
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/include)
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../../frameworks/common)
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../config/include)
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../directory/include)
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../framework/include)
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../../interfaces/innerkits/distributeddata/include)
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../../utils_native/base/include)
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../../utils_native/safwk/native/include)
include_directories(${MOCK_DIR})
include_directories(${MOCK_DIR}/uapi)
include_directories(${MOCK_DIR}/innerkits/sensor/sensor_interface_native/include)
include_directories(${MOCK_DIR}/innerkits/miscdevice/vibrator_interface_native/include)
include_directories(${MOCK_DIR}/innerkits/aafwk_standard/want/include/ohos/aafwk/content)
include_directories(${MOCK_DIR}/innerkits/aafwk_standard/intent/include)
include_directories(${MOCK_DIR}/innerkits/aafwk_standard/ability_manager/include)
include_directories(${MOCK_DIR}/innerkits/aafwk_standard/base/include)
include_directories(${MOCK_DIR}/innerkits/jsapi_worker/worker_init/include)
include_directories(${MOCK_DIR}/innerkits/os_account_standard/libaccountkits/include)
include_directories(${MOCK_DIR}/innerkits/deviceauth_standard/deviceauth_sdk/include)
include_directories(${MOCK_DIR}/innerkits/samgr_standard/samgr_proxy/include)
include_directories(${MOCK_DIR}/innerkits/ipc/ipc_core/include)
include_directories(${MOCK_DIR}/innerkits/ipc/ipc_single/include)
include_directories(${MOCK_DIR}/innerkits/ipc/libdbinder/include)
include_directories(${MOCK_DIR}/innerkits/resmgr_standard/global_resmgr/include)
include_directories(${MOCK_DIR}/innerkits/power_manager_native/powermgr_client/include)
include_directories(${MOCK_DIR}/innerkits/napi/ace_napi/include)
include_directories(${MOCK_DIR}/innerkits/hisysevent_native/libhisysevent/include)
include_directories(${MOCK_DIR}/innerkits/appverify/libhapverify/include)
include_directories(${MOCK_DIR}/innerkits/huks_standard/libhukssdk/include)
include_directories(${MOCK_DIR}/innerkits/inputmethod_native/inputmethod_ability/include)
include_directories(${MOCK_DIR}/innerkits/inputmethod_native/inputmethod_client/include)
include_directories(${MOCK_DIR}/innerkits/safwk/system_ability_fwk/include)
include_directories(${MOCK_DIR}/innerkits/ipc_js/rpc/include)
include_directories(${MOCK_DIR}/innerkits/dataclassification/fbe_iudf_xattr/include)
include_directories(${MOCK_DIR}/innerkits/dataclassification/hwdsl/include)
include_directories(${MOCK_DIR}/innerkits/battery_manager_native/batterysrv_client/include)
include_directories(${MOCK_DIR}/innerkits/permission_standard/libpermissionsdk_standard/include)
include_directories(${MOCK_DIR}/innerkits/hilog_native/libhilog/include)
include_directories(${MOCK_DIR}/innerkits/display_manager_native/displaymgr/include)
include_directories(${MOCK_DIR}/innerkits/i18n_standard/phonenumber_standard/include)
include_directories(${MOCK_DIR}/innerkits/i18n_standard/zone_util/include)
include_directories(${MOCK_DIR}/innerkits/bytrace_standard/bytrace_core/include)
include_directories(${MOCK_DIR}/innerkits/multimodalinput_base/libmmi-client/include)
include_directories(${MOCK_DIR}/innerkits/multimodalinput_base/libmmi-client/include/proxy/include)
include_directories(${MOCK_DIR}/innerkits/multimodalinput_base/libmmi-client/include/event/include)
include_directories(${MOCK_DIR}/innerkits/multimodalinput_base/libmmi-client/include/common/include)
include_directories(${MOCK_DIR}/innerkits/multimodalinput_base/libmmi-server/include)
include_directories(${MOCK_DIR}/innerkits/multimodalinput_base/libmmi-server/include/include)
include_directories(${MOCK_DIR}/innerkits/multimodalinput_base/libinput-third-mmi/include)
include_directories(${MOCK_DIR}/innerkits/appexecfwk_standard/appexecfwk_base/include)
include_directories(${MOCK_DIR}/innerkits/appexecfwk_standard/eventhandler_native/include)
include_directories(${MOCK_DIR}/innerkits/appexecfwk_standard/fmskit_native/include)
include_directories(${MOCK_DIR}/innerkits/appexecfwk_standard/libeventhandler/include)
include_directories(${MOCK_DIR}/innerkits/appexecfwk_standard/appexecfwk_core/include)
include_directories(${MOCK_DIR}/innerkits/hitrace_native/libhitrace/include)
include_directories(${MOCK_DIR}/innerkits/dmsfwk_standard/zuri/include)
include_directories(${MOCK_DIR}/innerkits/ces_standard/cesfwk_services/include)
include_directories(${MOCK_DIR}/innerkits/ces_standard/cesfwk_core/include)
include_directories(${MOCK_DIR}/innerkits/ces_standard/cesfwk_innerkits/include)
include_directories(${MOCK_DIR}/innerkits/multimedia_image_standard/image/include)
include_directories(${MOCK_DIR}/innerkits/ril_adapter/hril/include)
include_directories(${MOCK_DIR}/innerkits/native_appdatamgr/native_dataability/include)
include_directories(${MOCK_DIR}/innerkits/native_appdatamgr/native_preferences/include)
include_directories(${MOCK_DIR}/innerkits/native_appdatamgr/native_rdb/include)
include_directories(${MOCK_DIR}/innerkits/native_appdatamgr/native_appdatafwk/include)
include_directories(${MOCK_DIR}/innerkits/startup_l2/syspara/include)
include_directories(${MOCK_DIR}/innerkits/hicollie_native/libhicollie/include)
include_directories(${MOCK_DIR}/innerkits/dsoftbus_standard/softbus_client/include)
include_directories(${MOCK_DIR}/innerkits/device_manager_base/devicemanagersdk/include)
include_directories(${MOCK_DIR}/innerkits/distributeddatamgr/app_distributeddata/include)
include_directories(${MOCK_DIR}/innerkits/distributeddatamgr/distributeddata_inner/include)
#include_directories(${MOCK_DIR}/innerkits/utils_base/utils/include/include)
set(links secure mock frameworks config svcFwk directory)
set(LIBRARY_OUTPUT_PATH "${PROJECT_BINARY_DIR}/../../../../")
add_library(bootstrap SHARED ${bootstrapSrc})
target_link_libraries(bootstrap ${links})
